/*******************************************************************************
 * Package: com.hngtrust.iir.bond.dto
 * Type:    BondReq
 * Date:    2021/12/14 11:01 上午
 *
 * Copyright (c) 2021 -------- -------- CORP.,LTD All Rights Reserved.
 *
 * You may not use this file except in compliance with the License.
 *******************************************************************************/
package com.hngtrust.iir.bond.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 债券信息详情查询响应参数
 *
 * @author Chaidd
 * @date 2021/12/16 17:01 下午
 */
@ApiModel(description = "债券信息详情查询响应参数")
@Data
public class BondDetailRespVO {

    /**
     * 剩余年限
     */
    @ApiModelProperty(value = "剩余期限（年）")
    private BigDecimal shengDate;

    /**
     * 发行票面利率(%)
     */
    @ApiModelProperty(value = "发行票面利率")
    private BigDecimal couponrate;

    /**
     * 最新评级
     */
    @ApiModelProperty(value = "最新评级")
    private String bondRating;

    /**
     * 发行日
     */
    @ApiModelProperty(value = "发行日")
    private Date firstissue;

    /**
     * 债券代码
     */
    @ApiModelProperty(value = "债券代码")
    private String code;

    /**
     * 债券简称
     */
    @ApiModelProperty(value = "债券简称")
    private String name;

    /**
     * 债券全称
     */
    @ApiModelProperty(value = "债券全称")
    private String fullname;

    /**
     * 债券类型
     */
    @ApiModelProperty(value = "债券类型")
    private String bondType;

    /**
     * 发行人
     */
    @ApiModelProperty(value = "发行人")
    private String issuer;

    /**
     * 发行人企业性质
     */
    @ApiModelProperty(value = "发行人企业性质")
    private String compProperty;

    /**
     * 发行人注册地址
     */
    @ApiModelProperty(value = "发行人注册地址")
    private String compAddress;

    /**
     * 发行人公司id
     */
    @ApiModelProperty(value = "发行人公司id")
    private Long compId;

    /**
     * 质押券代码
     */
    @ApiModelProperty(value = "质押券代码")
    private String pledgeCode;

    /**
     * 概念板块
     */
    @ApiModelProperty(value = "概念板块")
    private String plate;

    /**
     * 上市日期
     */
    @ApiModelProperty(value = "上市日期")
    private Date listdate;

    /**
     * 摘牌日期
     */
    @ApiModelProperty(value = "摘牌日期")
    private Date delistdate;

    /**
     * 发行价格
     */
    @ApiModelProperty(value = "发行价格")
    private BigDecimal issueprice;

    /**
     * 面值
     */
    @ApiModelProperty(value = "面值")
    private BigDecimal par;


    /**
     * 附息利率品种
     * 501001000 浮动利率 501002000 固定利率 501003000 累进利率
     */
    @ApiModelProperty(value = "附息利率品种")
    private String interesttype;

    /**
     * 息票品种
     * 505001000 附息 505002000 零息:指存续期内不付息,到期一次还本付息的债券
     *  505003000：贴现
     */
    @ApiModelProperty(value = "息票品种")
    private String coupon;

    /**
     * 付息频率
     */
    @ApiModelProperty(value = "付息频率")
    private String interestfrequency;

    /**
     * 利率说明
     */
    @ApiModelProperty(value = "利率说明")
    private String coupontxt;

    /**
     * 计息基准
     */
    @ApiModelProperty(value = "计息基准")
    private String actualbenchmark;

    /**
     * 期限(年)
     */
    @ApiModelProperty(value = "期限(年)")
    private BigDecimal termYear;

    /**
     * 起息日期
     */
    @ApiModelProperty(value = "起息日期")
    private Date carrydate;

    /**
     * 到期日
     */
    @ApiModelProperty(value = "到期日")
    private Date maturitydate;

    /**
     * 发行规模（亿万）
     */
    @ApiModelProperty(value = "发行规模")
    private BigDecimal amountact;

    /**
     * 发行方式
     */
    @ApiModelProperty(value = "发行方式")
    private BigDecimal issuetype;

    /**
     * 承销方式
     * 438001000:代销
     * 438002000:全额包销
     * 438003000:全额包销,代销
     * 438004000:余额包销
     * 438005000:余额包销,代销
     * 438006000:限额包销
     */
    @ApiModelProperty(value = "承销方式")
    private String underwritingcode;

    /**
     * 主承销商
     */
    @ApiModelProperty(value = "主承销商")
    private List<BondAgencyDTO> agencyBus;

    /**
     * 托管机构
     */
    @ApiModelProperty(value = "托管机构")
    private List<BondAgencyDTO> agencyOrg;

    /**
     * 担保人
     */
    @ApiModelProperty(value = "担保人")
    private String guarantor;

    /**
     * 担保人公司id
     */
    @ApiModelProperty(value = "担保人公司id")
    private Long guarantorId;

    /**
     * 特殊条款类型
     */
    @ApiModelProperty(value = "特殊条款类型")
    private String specialType;

    /**
     * 发行手续费率(%)
     */
    @ApiModelProperty(value = "发行手续费率")
    private BigDecimal fee;

    /**
     * 兑付手续费率(%)
     */
    @ApiModelProperty(value = "兑付手续费率")
    private BigDecimal redemptionFeeration;

    /**
     * 是否次级债或混合资本债
     */
    @ApiModelProperty(value = "是否次级债或混合资本债")
    private String subordinateornot;

    /**
     * 付息日说明
     */
    @ApiModelProperty(value = "付息日说明")
    private String coupondatetxt;

    /**
     * 是否可提前兑付
     */
    @ApiModelProperty(value = "是否可提前兑付")
    private String ispayadvanced;

    /**
     * 是否可赎回
     */
    @ApiModelProperty(value = "是否可赎回")
    private String iscallable;

    /**
     * 是否有选择权
     */
    @ApiModelProperty(value = "是否有选择权")
    private String ischooseright;

    /**
     * 是否含权债
     */
    @ApiModelProperty(value = "是否含权债")
    private String isinright;

    /**
     * 是否公司债
     */
    @ApiModelProperty(value = "是否公司债")
    private String iscorporateBond;

    /**
     * 特殊债券类型
     */
    @ApiModelProperty(value = "特殊债券类型")
    private String specialbondtype;

    /**
     * 兑付日
     */
    @ApiModelProperty(value = "兑付日")
    private Date paymentdate;

    /**
     * 是否按实际天数计息
     */
    @ApiModelProperty(value = "是否按实际天数计息")
    private String isactDays;

    /**
     * 是否增发债
     */
    @ApiModelProperty(value = "是否增发债")
    private String isincbonds;

    /**
     * 特殊条款说明
     */
    @ApiModelProperty(value = "特殊条款说明")
    private String specialContent;

}
